package com.cloudkinto.dto.print.common;

import com.deepoove.poi.data.RowRenderData;
import lombok.Data;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author long
 * @Description 进行合并需要的数据结构
 * @Date 2024/12/14 9:35
 */
@Data
public class DynamicTableDto {
    /**
     * 携带表格中真实数据
     */
    private List<RowRenderData> dataList = new ArrayList<>();

    /**
     * 携带要分组的信息
     * key:合并依据（就是表格数据中的某一列字段值，推荐序号） value:合并数量
     */
    private Map<String, Integer> groupMap = new HashMap<>();

    /**
     * 合并列所在索引 从0开始的
     */
    private Integer mergeIndex;

    /**
     * 需要合并的列 从0到mergeColNum-1列（索引）
     */
    private Integer mergeColFrom;
    private Integer mergeColNum;

    /**
     * 表格列数
     */
    private Integer tableCol;

    /**
     * 表头行数
     */
    private Integer tableHeaderRowCount;

    public DynamicTableDto(Integer mergeIndex, Integer mergeColFrom, Integer mergeColNum, Integer tableCol, Integer tableHeaderRowCount) {
        this.mergeIndex = mergeIndex;
        this.mergeColFrom = mergeColFrom;
        this.mergeColNum = mergeColNum;
        this.tableCol = tableCol;
        this.tableHeaderRowCount = tableHeaderRowCount;
    }
}
